X-Git-Url: https://shimmer.witbreuk.eu/gitweb/UltimateKEYS.git/blobdiff_plain/fdedca82be3d839f10e106cd5b926a8193bf463f..52753630a12b685835b88ac725f458f4bf38a1b4:/autohotkey/UltimateKEYS%20(for%20AutoHotkey%20v1.1).ahk diff --git a/autohotkey/UltimateKEYS (for AutoHotkey v1.1).ahk b/autohotkey/UltimateKEYS (for AutoHotkey v1.1).ahk index 2113173..3c6f92b 100644 --- a/autohotkey/UltimateKEYS (for AutoHotkey v1.1).ahk +++ b/autohotkey/UltimateKEYS (for AutoHotkey v1.1).ahk @@ -1,25 +1,23 @@ #requires AutoHotkey v1.1 -; UltimateKEYS (for AutoHotkey v1.1).ahk - 2023-09-05 +; UltimateKEYS (for AutoHotkey v1.1).ahk - 2024-11-30 -; Website : www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/) +; Website : https://pieter-degroote.github.io/UltimateKEYS/ -; License : GNU General Public License Version 3 - -; GitHub : github.com/pieter-degroote/UltimateKEYS +; GitHub : https://github.com/pieter-degroote/UltimateKEYS +; License : GNU General Public License Version 3 -; Requirements : -; Keyboard layout (on Windows) : US QWERTY +; Configuration : -; AutoHotkey v1.1 (www.autohotkey.com) +; Keyboard layout : US QWERTY #NoEnv ; avoids checking empty variables to see if they are environment variables -ListLines Off ; omits recently executed lines from history (for privacy and security) #KeyHistory 0 ; disables the key history (for privacy and security) +ListLines Off ; omits recently executed lines from history (for privacy and security) SendMode Input ; optimizes for faster and more reliable input @@ -436,7 +434,7 @@ cmpDoubleAcute.item["u"] := "{u+0171}" ; (ű) u with double acute cmpDoubleAcute.item["U"] := "{u+0170}" ; (Ű) U with double acute -; Compose : Hook and Horn (h) +; Compose : Hook, Horn and Variations (h) cmpSmallH := ComObjCreate("Scripting.Dictionary") cmpSmallH.item["b"] := "{u+0253}" ; (ɓ) b with hook @@ -455,6 +453,8 @@ cmpSmallH.item["H"] := "{u+a7aa}" ; (Ɦ) H with hook cmpSmallH.item["j"] := "{u+0267}" ; (ɧ) small letter heng with hook cmpSmallH.item["k"] := "{u+0199}" ; (ƙ) k with hook cmpSmallH.item["K"] := "{u+0198}" ; (Ƙ) K with hook +cmpSmallH.item["l"] := "{u+026c}" ; (ɬ) l with belt +cmpSmallH.item["L"] := "{u+a7ad}" ; (Ɬ) L with belt cmpSmallH.item["m"] := "{u+0271}" ; (ɱ) m with hook cmpSmallH.item["M"] := "{u+2c6e}" ; (Ɱ) M with hook cmpSmallH.item["n"] := "{u+0272}" ; (ɲ) n with left hook @@ -482,15 +482,17 @@ cmpSmallH.item["z"] := "{u+0225}" ; (ȥ) z with hook cmpSmallH.item["Z"] := "{u+0224}" ; (Ȥ) Z with hook -; Compose : Retroflex Hook, Right Hook, Crossed-Tail and Variations (f) +; Compose : Retroflex Hook and Variations (f) cmpSmallF := ComObjCreate("Scripting.Dictionary") cmpSmallF.item["d"] := "{u+1d91}" ; (ᶑ) d with hook and tail cmpSmallF.item["e"] := "{u+025d}" ; (ɝ) small letter reversed open e with hook +cmpSmallF.item["f"] := "{u+1d94}" ; (ᶔ) small letter reversed open e with retroflex hook cmpSmallF.item["g"] := "{u+ab36}" ; (ꬶ) small letter script g with crossed-tail cmpSmallF.item["h"] := "{u+a727}" ; (ꜧ) small letter heng cmpSmallF.item["H"] := "{u+a726}" ; (Ꜧ) capital letter heng cmpSmallF.item["j"] := "{u+029d}" ; (ʝ) j with crossed-tail +cmpSmallF.item["J"] := "{u+a7b2}" ; (Ʝ) J with crossed-tail cmpSmallF.item["l"] := "{u+026d}" ; (ɭ) l with retroflex hook cmpSmallF.item["n"] := "{u+0273}" ; (ɳ) n with retroflex hook cmpSmallF.item["q"] := "{u+02a0}" ; (ʠ) q with hook @@ -501,6 +503,17 @@ cmpSmallF.item["v"] := "{u+2c71}" ; (ⱱ) v with right hook cmpSmallF.item["z"] := "{u+0290}" ; (ʐ) z with retroflex hook +; Compose : Swash Tail and Variations (t) + +cmpSmallT := ComObjCreate("Scripting.Dictionary") +cmpSmallT.item["l"] := "{u+2c61}" ; (ⱡ) l with double bar +cmpSmallT.item["L"] := "{u+2c60}" ; (Ⱡ) L with double bar +cmpSmallT.item["s"] := "{u+023f}" ; (ȿ) s with swash tail +cmpSmallT.item["S"] := "{u+2c7e}" ; (Ȿ) S with swash tail +cmpSmallT.item["z"] := "{u+0240}" ; (ɀ) z with swash tail +cmpSmallT.item["Z"] := "{u+2c7f}" ; (Ɀ) Z with swash tail + + ; Compose : Latin Greek Letters and Variations (l) cmpSmallL := ComObjCreate("Scripting.Dictionary") @@ -538,12 +551,13 @@ cmpSmallL.item["&"] := "{u+0241}" ; (Ɂ) capital letter glottal stop cmpSmallL.item["?"] := "{u+0294}" ; (ʔ) unicase letter glottal stop -; Compose : Turned Letters (r) +; Compose : Turned and Reversed Letters (r) cmpSmallR := ComObjCreate("Scripting.Dictionary") cmpSmallR.item["a"] := "{u+0250}" ; (ɐ) small letter turned a cmpSmallR.item["A"] := "{u+2c6f}" ; (Ɐ) capital letter turned A cmpSmallR.item["b"] := "{u+025c}" ; (ɜ) small letter reversed open e +cmpSmallR.item["B"] := "{u+a7ab}" ; (Ɜ) capital letter reversed open E cmpSmallR.item["d"] := "{u+018d}" ; (ƍ) Latin small letter turned delta cmpSmallR.item["e"] := "{u+01dd}" ; (ǝ) small letter turned e cmpSmallR.item["E"] := "{u+018e}" ; (Ǝ) capital letter reversed E @@ -562,10 +576,13 @@ cmpSmallR.item["q"] := "{u+0252}" ; (ɒ) Latin small letter turned alpha cmpSmallR.item["Q"] := "{u+2c70}" ; (Ɒ) Latin capital letter turned alpha cmpSmallR.item["r"] := "{u+0279}" ; (ɹ) small letter turned r cmpSmallR.item["t"] := "{u+0287}" ; (ʇ) small letter turned t +cmpSmallR.item["T"] := "{u+a7b1}" ; (Ʇ) small letter turned T cmpSmallR.item["v"] := "{u+028c}" ; (ʌ) small letter turned v cmpSmallR.item["V"] := "{u+0245}" ; (Ʌ) capital letter turned V cmpSmallR.item["w"] := "{u+028d}" ; (ʍ) small letter turned w cmpSmallR.item["y"] := "{u+028e}" ; (ʎ) small letter turned y +cmpSmallR.item["z"] := "{u+01b9}" ; (ƹ) Latin small letter ezh reversed +cmpSmallR.item["Z"] := "{u+01b8}" ; (Ƹ) Latin capital letter ezh reversed ; Compose : Currency Symbols ($) @@ -766,7 +783,7 @@ cmpQuad.item["2"] := "{u+2000}" ; en quad cmpQuad.item["3"] := "{u+2001}" ; em quad -; Compose : Arrows and Pointers +; Compose : Arrows and Pointing Triangles cmpArrow := ComObjCreate("Scripting.Dictionary") cmpArrow.item["w"] := "{u+25b2}" ; (▲) black up-pointing triangle @@ -802,21 +819,29 @@ cmpDoubleAcute.item["0"] := "{u+21d4}" ; (⇔) left right double arrow ; Compose : Various Symbols (s) cmpSymbols := ComObjCreate("Scripting.Dictionary") -cmpSymbols.item["a"] := "{u+214d}" ; (⅍) aktieselskab +cmpSymbols.item["a"] := "{u+2100}" ; (℀) account of cmpSymbols.item["b"] := "{u+203d}" ; (‽) interrobang cmpSymbols.item["B"] := "{u+2e18}" ; (⸘) inverted interrobang cmpSymbols.item["c"] := "{u+2105}" ; (℅) care of cmpSymbols.item["d"] := "{u+22c4}" ; (⋄) diamond operator cmpSymbols.item["e"] := "{u+212e}" ; (℮) estimated symbol cmpSymbols.item["f"] := "{u+2640}" ; (♀) female sign (Venus) -cmpSymbols.item["h"] := "{u+2126}" ; (Ω) ohm sign (backwards compatibility) +cmpSymbols.item["h"] := "{u+2302}" ; (⌂) house +cmpSymbols.item["H"] := "{u+2126}" ; (Ω) ohm sign (backwards compatibility) cmpSymbols.item["i"] := "{u+2300}" ; (⌀) diameter sign +cmpSymbols.item["j"] := "{u+2101}" ; (℁) addressed to the subject +cmpSymbols.item["k"] := "{u+214d}" ; (⅍) aktieselskab cmpSymbols.item["l"] := "{u+2113}" ; (ℓ) script small l cmpSymbols.item["L"] := "{u+2112}" ; (ℒ) Laplace transform cmpSymbols.item["m"] := "{u+2642}" ; (♂) male sign (Mars) cmpSymbols.item["M"] := "{u+2120}" ; (℠) service mark -cmpSymbols.item["r"] := "{u+211e}" ; (℞) prescription take (Recipere) -cmpSymbols.item["R"] := "{u+211e}" ; (℞) prescription take (Recipere) +cmpSymbols.item["p"] := "{u+211e}" ; (℞) prescription take (Recipere) +cmpSymbols.item["P"] := "{u+211e}" ; (℞) prescription take (Recipere) +cmpSymbols.item["r"] := "{u+211f}" ; (℟) response (liturgy) +cmpSymbols.item["R"] := "{u+211f}" ; (℟) response (liturgy) +cmpSymbols.item["u"] := "{u+2106}" ; (℆) cada una (each one) +cmpSymbols.item["v"] := "{u+2123}" ; (℣) versicle (liturgy) +cmpSymbols.item["V"] := "{u+2123}" ; (℣) versicle (liturgy) cmpSymbols.item["x"] := "{u+203b}" ; (※) reference mark cmpSymbols.item["2"] := "{u+266b}" ; (♫) beamed eighth notes cmpSymbols.item["3"] := "{u+2042}" ; (⁂) asterism @@ -878,12 +903,12 @@ cmpMathSymbols.item["4"] := "{u+2237}" ; (∷) proportion sign cmpMathSymbols.item["6"] := "{u+2220}" ; (∠) angle symbol cmpMathSymbols.item["9"] := "{u+221f}" ; (∟) right angle cmpMathSymbols.item["0"] := "{u+2221}" ; (∡) measured angle +cmpMathSymbols.item["."] := "{u+22c5}" ; (⋅) dot operator +cmpMathSymbols.item["="] := "{u+225d}" ; (≝) equal to by definition cmpMathSymbols.item["+"] := "{u+2295}" ; (⊕) circled plus cmpMathSymbols.item["-"] := "{u+2296}" ; (⊖) circled minus cmpMathSymbols.item["*"] := "{u+2297}" ; (⊗) circled times cmpMathSymbols.item["/"] := "{u+2298}" ; (⊘) circled division slash -cmpMathSymbols.item["."] := "{u+2299}" ; (⊙) circled dot operator -cmpMathSymbols.item["="] := "{u+225d}" ; (≝) equal to by definition cmpMathSymbols.item[";"] := "{u+2235}" ; (∵) because sign cmpMathSymbols.item[":"] := "{u+2234}" ; (∴) therefore sign cmpMathSymbols.item["&"] := "{u+2227}" ; (∧) logical and @@ -901,7 +926,6 @@ cmpSmallN := ComObjCreate("Scripting.Dictionary") cmpCapitalN := ComObjCreate("Scripting.Dictionary") cmpCapitalO := ComObjCreate("Scripting.Dictionary") cmpCapitalS := ComObjCreate("Scripting.Dictionary") -cmpSmallT := ComObjCreate("Scripting.Dictionary") cmpCapitalT := ComObjCreate("Scripting.Dictionary") cmpArrow.item["e"] := "{u+00e6}" ; (æ) letter ae cmpCapitalA.item["E"] := "{u+00c6}" ; (Æ) letter AE @@ -924,7 +948,7 @@ cmpCapitalT.item["H"] := "{u+00de}" ; (Þ) capital letter thorn cmpDigitEight := ComObjCreate("Scripting.Dictionary") cmpCapitalP := ComObjCreate("Scripting.Dictionary") -cmpSemicolon := ComObjCreate("Scripting.Dictionary") +cmpVerticalLine := ComObjCreate("Scripting.Dictionary") cmpAsterisk := ComObjCreate("Scripting.Dictionary") cmpExclam := ComObjCreate("Scripting.Dictionary") cmpQuestion := ComObjCreate("Scripting.Dictionary") @@ -949,14 +973,7 @@ cmpSmallR.item["4"] := "{u+221c}" ; (∜) fourth root cmpSymbols.item["o"] := "{u+00a7}" ; (§) section sign cmpCapitalS.item["o"] := "{u+00a7}" ; (§) section sign cmpSmallT.item["m"] := "{u+2122}" ; (™) trademark symbol -cmpSemicolon.item["b"] := "{u+2022}" ; (•) bullet -cmpSemicolon.item[";"] := "{u+2022}" ; (•) bullet -cmpSemicolon.item["t"] := "{u+2023}" ; (‣) triangular bullet -cmpSemicolon.item[">"] := "{u+2023}" ; (‣) triangular bullet -cmpSemicolon.item["h"] := "{u+2043}" ; (⁃) hyphen bullet -cmpSemicolon.item["-"] := "{u+2043}" ; (⁃) hyphen bullet -cmpSemicolon.item["w"] := "{u+25e6}" ; (◦) white bullet -cmpSemicolon.item["o"] := "{u+25e6}" ; (◦) white bullet +cmpVerticalLine.item["|"] := "{u+2016}" ; (‖) double vertical line cmpAcuteAccent.item["1"] := "{u+2032}" ; (′) prime cmpAcuteAccent.item["2"] := "{u+2033}" ; (″) double prime cmpAcuteAccent.item["3"] := "{u+2034}" ; (‴) triple prime @@ -965,8 +982,9 @@ cmpAsterisk.item["*"] := "{u+00d7}" ; (×) multiplication sign cmpStroke.item["/"] := "{u+00f7}" ; (÷) division sign cmpAsterisk.item["o"] := "{u+00b0}" ; (°) degree sign cmpRingAbove.item["*"] := "{u+00b0}" ; (°) degree sign -cmpDotAbove.item["."] := "{u+00b7}" ; (·) middle dot +cmpDotAbove.item["-"] := "{u+00b7}" ; (·) middle dot cmpDotAbove.item["3"] := "{u+2026}" ; (…) horizontal ellipsis +cmpDotAbove.item["."] := "{u+2026}" ; (…) horizontal ellipsis cmpArrow.item["-"] := "{u+00aa}" ; (ª) feminine ordinal indicator (Spanish, Portuguese, Italian, Galician) cmpRingAbove.item["-"] := "{u+00ba}" ; (º) masculine ordinal indicator (Spanish, Portuguese, Italian, Galician) cmpExclam.item["!"] := "{u+00a1}" ; (¡) inverted exclamation mark @@ -991,6 +1009,30 @@ cmpGreaterThan.item["+"] := "{u+2a7e}" ; (⩾) greater-than or slanted equal t cmpTilde.item["~"] := "{u+2248}" ; (≈) almost equal to +; Compose : Bullets and Small Geometric Shapes (;) + +cmpSemicolon := ComObjCreate("Scripting.Dictionary") +cmpSemicolon.item["b"] := "{u+2022}" ; (•) bullet +cmpSemicolon.item["o"] := "{u+25e6}" ; (◦) white bullet +cmpSemicolon.item["h"] := "{u+2043}" ; (⁃) hyphen bullet +cmpSemicolon.item["t"] := "{u+2023}" ; (‣) triangular bullet +cmpSemicolon.item["q"] := "{u+25aa}" ; (▪) black small square +cmpSemicolon.item["u"] := "{u+25ab}" ; (▫) white small square +cmpSemicolon.item["w"] := "{u+25b4}" ; (▴) black up-pointing small triangle +cmpSemicolon.item["a"] := "{u+25c2}" ; (◂) black left-pointing small triangle +cmpSemicolon.item["s"] := "{u+25be}" ; (▾) black down-pointing small triangle +cmpSemicolon.item["d"] := "{u+25b8}" ; (▸) black right-pointing small triangle +cmpSemicolon.item["i"] := "{u+25b5}" ; (▵) white up-pointing small triangle +cmpSemicolon.item["j"] := "{u+25c3}" ; (◃) white left-pointing small triangle +cmpSemicolon.item["k"] := "{u+25bf}" ; (▿) white down-pointing small triangle +cmpSemicolon.item["l"] := "{u+25b9}" ; (▹) white right-pointing small triangle +cmpSemicolon.item["z"] := "{u+25a0}" ; (■) black square +cmpSemicolon.item["x"] := "{u+25a1}" ; (□) white square +cmpSemicolon.item["c"] := "{u+25c6}" ; (◆) black diamond +cmpSemicolon.item["v"] := "{u+25c7}" ; (◇) white diamond +cmpSemicolon.item[";"] := "{u+2022}" ; (•) bullet + + ; Compose : Vulgar Fractions cmpDigitOne := ComObjCreate("Scripting.Dictionary") @@ -1030,6 +1072,7 @@ cmpCedillaOgonek.item[chr(34)] := "{u+201e}" ; („) double low-9 quotation mar cmpDiaeresis.item[","] := "{u+201e}" ; („) double low-9 quotation mark cmpCedillaOgonek.item["'"] := "{u+201a}" ; (‚) single low-9 quotation mark cmpAcuteAccent.item[","] := "{u+201a}" ; (‚) single low-9 quotation mark +cmpCedillaOgonek.item[","] := "{u+201a}" ; (‚) single low-9 quotation mark cmpDiaeresis.item["["] := "{u+201c}" ; (“) left double quotation mark cmpBracketLeft.item[chr(34)] := "{u+201c}" ; (“) left double quotation mark cmpDiaeresis.item["]"] := "{u+201d}" ; (”) right double quotation mark @@ -1258,6 +1301,8 @@ cmpDigitTwo.item["s"] := "{u+2691}" ; (⚑) black flag cmpDigitTwo.item["t"] := "{u+26a0}" ; (⚠) warning sign cmpDigitTwo.item["u"] := "{u+26a1}" ; (⚡) high voltage sign cmpDigitTwo.item["v"] := "{u+26d4}" ; (⛔) no entry +cmpDigitTwo.item["w"] := "{u+231a}" ; (⌚) watch +cmpDigitTwo.item["x"] := "{u+231b}" ; (⌛) hourglass cmpDigitThree.item["a"] := "{u+2701}" ; (✁) upper blade scissors cmpDigitThree.item["b"] := "{u+2702}" ; (✂) black scissors @@ -1440,444 +1485,591 @@ cmpSmallN.item["9"] := "{u+277e}" ; (❾) dingbat negative circled digit 9 cmpSmallN.item["0"] := "{u+277f}" ; (❿) dingbat negative circled digit 10 -; Configuration : 'Right Alt' and 'Right Alt + Shift' on US QWERTY +; Configuration : 'AltGr (RAlt)' and 'AltGr (RAlt) + Shift' modifiers + +; Key : 1 +>!sc002:: +<^>!sc002::Send {u+00a1} ; (¡) inverted exclamation mark +>!+sc002:: +<^>!+sc002::Send {u+00b9} ; (¹) superscript 1 + +; Key : 2 +>!sc003:: +<^>!sc003::Send {u+2264} ; (≤) less-than or equal to +>!+sc003:: +<^>!+sc003::Send {u+00b2} ; (²) superscript 2 + +; Key : 3 +>!sc004:: +<^>!sc004::Send {u+2265} ; (≥) greater-than or equal to +>!+sc004:: +<^>!+sc004::Send {u+00b3} ; (³) superscript 3 + +; Key : 4 +>!sc005:: +<^>!sc005::Send {u+00a3} ; (£) pound sign +>!+sc005:: +<^>!+sc005::Send {u+00a5} ; (¥) yen sign + +; Key : 5 +>!sc006:: +<^>!sc006::Send {u+20ac} ; (€) euro sign +>!+sc006:: +<^>!+sc006::Send {u+00a2} ; (¢) cent sign (dollar) + +; Key : 6 +>!sc007:: +<^>!sc007:: + if GetKeyState("CapsLock", "T") + Send {u+00c3} ; (Ã) A with tilde + else + Send {u+00e3} ; (ã) a with tilde + return +>!+sc007:: +<^>!+sc007:: + if GetKeyState("CapsLock", "T") + Send {u+00e3} ; (ã) a with tilde + else + Send {u+00c3} ; (Ã) A with tilde + return ->!a:: +; Key : 7 +>!sc008:: +<^>!sc008:: if GetKeyState("CapsLock", "T") - Send {u+00c4} ; (Ä) A with diaeresis + Send {u+00d5} ; (Õ) O with tilde else - Send {u+00e4} ; (ä) a with diaeresis + Send {u+00f5} ; (õ) o with tilde return ->!+a:: +>!+sc008:: +<^>!+sc008:: if GetKeyState("CapsLock", "T") - Send {u+00e4} ; (ä) a with diaeresis + Send {u+00f5} ; (õ) o with tilde else - Send {u+00c4} ; (Ä) A with diaeresis + Send {u+00d5} ; (Õ) O with tilde return ->!q:: +; Key : 8 +>!sc009:: +<^>!sc009::Send {u+201e} ; („) double low-9 quotation mark +>!+sc009:: +<^>!+sc009::Send {u+00a7} ; (§) section sign + +; Key : 9 +>!sc00A:: +<^>!sc00A::Send {u+201c} ; (“) left double quotation mark +>!+sc00A:: +<^>!+sc00A::Send {u+2018} ; (‘) left single quotation mark + +; Key : 0 +>!sc00B:: +<^>!sc00B::Send {u+201d} ; (”) right double quotation mark +>!+sc00B:: +<^>!+sc00B::Send {u+2019} ; (’) right single quotation mark + +; Key : - / _ (hyphen-minus / underscore) +>!sc00C:: +<^>!sc00C::Send {u+2013} ; (–) en dash +>!+sc00C:: +<^>!+sc00C::Send {u+2014} ; (—) em dash + +; Key : = / + (equals sign / plus sign) +>!sc00D:: +<^>!sc00D::Send {u+00d7} ; (×) multiplication sign +>!+sc00D:: +<^>!+sc00D::Send {u+00f7} ; (÷) division sign + +; Key : Q +>!sc010:: +<^>!sc010:: if GetKeyState("CapsLock", "T") Send {u+00c6} ; (Æ) letter AE else Send {u+00e6} ; (æ) letter ae return ->!+q:: +>!+sc010:: +<^>!+sc010:: if GetKeyState("CapsLock", "T") Send {u+00e6} ; (æ) letter ae else Send {u+00c6} ; (Æ) letter AE return ->!w:: +; Key : W +>!sc011:: +<^>!sc011:: if GetKeyState("CapsLock", "T") Send {u+00c5} ; (Å) A with ring above else Send {u+00e5} ; (å) a with ring above return ->!+w:: +>!+sc011:: +<^>!+sc011:: if GetKeyState("CapsLock", "T") Send {u+00e5} ; (å) a with ring above else Send {u+00c5} ; (Å) A with ring above return ->!z:: +; Key : E +>!sc012:: +<^>!sc012:: if GetKeyState("CapsLock", "T") - Send {u+00c0} ; (À) A with grave + Send {u+00cb} ; (Ë) E with diaeresis else - Send {u+00e0} ; (à) a with grave + Send {u+00eb} ; (ë) e with diaeresis return ->!+z:: +>!+sc012:: +<^>!+sc012:: if GetKeyState("CapsLock", "T") - Send {u+00e0} ; (à) a with grave + Send {u+00eb} ; (ë) e with diaeresis else - Send {u+00c0} ; (À) A with grave + Send {u+00cb} ; (Ë) E with diaeresis return ->!x:: +; Key : R +>!sc013:: +<^>!sc013:: if GetKeyState("CapsLock", "T") - Send {u+00c1} ; (Á) A with acute + Send {u+00ca} ; (Ê) E with circumflex else - Send {u+00e1} ; (á) a with acute + Send {u+00ea} ; (ê) e with circumflex return ->!+x:: +>!+sc013:: +<^>!+sc013:: if GetKeyState("CapsLock", "T") - Send {u+00e1} ; (á) a with acute + Send {u+00ea} ; (ê) e with circumflex else - Send {u+00c1} ; (Á) A with acute + Send {u+00ca} ; (Ê) E with circumflex return ->!d:: +; Key : T +>!sc014:: +<^>!sc014:: if GetKeyState("CapsLock", "T") - Send {u+00c2} ; (Â) A with circumflex + Send {u+00ce} ; (Î) I with circumflex else - Send {u+00e2} ; (â) a with circumflex + Send {u+00ee} ; (î) i with circumflex return ->!+d:: +>!+sc014:: +<^>!+sc014:: if GetKeyState("CapsLock", "T") - Send {u+00e2} ; (â) a with circumflex + Send {u+00ee} ; (î) i with circumflex else - Send {u+00c2} ; (Â) A with circumflex + Send {u+00ce} ; (Î) I with circumflex return ->!c:: +; Key : Y +>!sc015:: +<^>!sc015:: if GetKeyState("CapsLock", "T") - Send {u+00c7} ; (Ç) C with cedilla + Send {u+00db} ; (Û) U with circumflex else - Send {u+00e7} ; (ç) c with cedilla + Send {u+00fb} ; (û) u with circumflex return ->!+c:: +>!+sc015:: +<^>!+sc015:: if GetKeyState("CapsLock", "T") - Send {u+00e7} ; (ç) c with cedilla + Send {u+00fb} ; (û) u with circumflex else - Send {u+00c7} ; (Ç) C with cedilla + Send {u+00db} ; (Û) U with circumflex return ->!e:: +; Key : U +>!sc016:: +<^>!sc016:: if GetKeyState("CapsLock", "T") - Send {u+00cb} ; (Ë) E with diaeresis + Send {u+00dc} ; (Ü) U with diaeresis else - Send {u+00eb} ; (ë) e with diaeresis + Send {u+00fc} ; (ü) u with diaeresis return ->!+e:: +>!+sc016:: +<^>!+sc016:: if GetKeyState("CapsLock", "T") - Send {u+00eb} ; (ë) e with diaeresis + Send {u+00fc} ; (ü) u with diaeresis else - Send {u+00cb} ; (Ë) E with diaeresis + Send {u+00dc} ; (Ü) U with diaeresis return ->!f:: +; Key : I +>!sc017:: +<^>!sc017:: if GetKeyState("CapsLock", "T") - Send {u+00c8} ; (È) E with grave + Send {u+00cf} ; (Ï) I with diaeresis else - Send {u+00e8} ; (è) e with grave + Send {u+00ef} ; (ï) i with diaeresis return ->!+f:: +>!+sc017:: +<^>!+sc017:: if GetKeyState("CapsLock", "T") - Send {u+00e8} ; (è) e with grave + Send {u+00ef} ; (ï) i with diaeresis else - Send {u+00c8} ; (È) E with grave + Send {u+00cf} ; (Ï) I with diaeresis return ->!g:: +; Key : O +>!sc018:: +<^>!sc018:: if GetKeyState("CapsLock", "T") - Send {u+00c9} ; (É) E with acute + Send {u+00d6} ; (Ö) O with diaeresis else - Send {u+00e9} ; (é) e with acute + Send {u+00f6} ; (ö) o with diaeresis return ->!+g:: +>!+sc018:: +<^>!+sc018:: if GetKeyState("CapsLock", "T") - Send {u+00e9} ; (é) e with acute + Send {u+00f6} ; (ö) o with diaeresis else - Send {u+00c9} ; (É) E with acute + Send {u+00d6} ; (Ö) O with diaeresis return ->!r:: +; Key : P +>!sc019:: +<^>!sc019:: if GetKeyState("CapsLock", "T") - Send {u+00ca} ; (Ê) E with circumflex + Send {u+00d4} ; (Ô) O with circumflex else - Send {u+00ea} ; (ê) e with circumflex + Send {u+00f4} ; (ô) o with circumflex return ->!+r:: +>!+sc019:: +<^>!+sc019:: if GetKeyState("CapsLock", "T") - Send {u+00ea} ; (ê) e with circumflex + Send {u+00f4} ; (ô) o with circumflex else - Send {u+00ca} ; (Ê) E with circumflex + Send {u+00d4} ; (Ô) O with circumflex return ->!i:: +; Key : [ / { (left square bracket / left curly bracket) +>!sc01A:: +<^>!sc01A::Send {u+00ab} ; («) left-pointing double angle quotation mark +>!+sc01A:: +<^>!+sc01A::Send {u+2039} ; (‹) left-pointing single angle quotation mark + +; Key : ] / } (right square bracket / right curly bracket) +>!sc01B:: +<^>!sc01B::Send {u+00bb} ; (») right-pointing double angle quotation mark +>!+sc01B:: +<^>!+sc01B::Send {u+203a} ; (›) right-pointing single angle quotation mark + +; Key : A +>!sc01E:: +<^>!sc01E:: if GetKeyState("CapsLock", "T") - Send {u+00cf} ; (Ï) I with diaeresis + Send {u+00c4} ; (Ä) A with diaeresis else - Send {u+00ef} ; (ï) i with diaeresis + Send {u+00e4} ; (ä) a with diaeresis return ->!+i:: +>!+sc01E:: +<^>!+sc01E:: if GetKeyState("CapsLock", "T") - Send {u+00ef} ; (ï) i with diaeresis + Send {u+00e4} ; (ä) a with diaeresis else - Send {u+00cf} ; (Ï) I with diaeresis + Send {u+00c4} ; (Ä) A with diaeresis return ->!v:: +; Key : S +>!sc01F:: +<^>!sc01F:: if GetKeyState("CapsLock", "T") - Send {u+00cc} ; (Ì) I with grave + Send {u+1e9e} ; (ẞ) capital sharp S (capital Eszett) else - Send {u+00ec} ; (ì) i with grave + Send {u+00df} ; (ß) small sharp s (Eszett) return ->!+v:: +>!+sc01F:: +<^>!+sc01F:: if GetKeyState("CapsLock", "T") - Send {u+00ec} ; (ì) i with grave + Send {u+00df} ; (ß) small sharp s (Eszett) else - Send {u+00cc} ; (Ì) I with grave + Send {u+1e9e} ; (ẞ) capital sharp S (capital Eszett) return ->!b:: +; Key : D +>!sc020:: +<^>!sc020:: if GetKeyState("CapsLock", "T") - Send {u+00cd} ; (Í) I with acute + Send {u+00c2} ; (Â) A with circumflex else - Send {u+00ed} ; (í) i with acute + Send {u+00e2} ; (â) a with circumflex return ->!+b:: +>!+sc020:: +<^>!+sc020:: if GetKeyState("CapsLock", "T") - Send {u+00ed} ; (í) i with acute + Send {u+00e2} ; (â) a with circumflex else - Send {u+00cd} ; (Í) I with acute + Send {u+00c2} ; (Â) A with circumflex return ->!t:: +; Key : F +>!sc021:: +<^>!sc021:: if GetKeyState("CapsLock", "T") - Send {u+00ce} ; (Î) I with circumflex + Send {u+00c9} ; (É) E with acute else - Send {u+00ee} ; (î) i with circumflex + Send {u+00e9} ; (é) e with acute return ->!+t:: +>!+sc021:: +<^>!+sc021:: if GetKeyState("CapsLock", "T") - Send {u+00ee} ; (î) i with circumflex + Send {u+00e9} ; (é) e with acute else - Send {u+00ce} ; (Î) I with circumflex + Send {u+00c9} ; (É) E with acute return ->!n:: +; Key : G +>!sc022:: +<^>!sc022:: if GetKeyState("CapsLock", "T") - Send {u+00d1} ; (Ñ) N with tilde + Send {u+00c8} ; (È) E with grave else - Send {u+00f1} ; (ñ) n with tilde + Send {u+00e8} ; (è) e with grave return ->!+n:: +>!+sc022:: +<^>!+sc022:: if GetKeyState("CapsLock", "T") - Send {u+00f1} ; (ñ) n with tilde + Send {u+00e8} ; (è) e with grave else - Send {u+00d1} ; (Ñ) N with tilde + Send {u+00c8} ; (È) E with grave return ->!o:: +; Key : H +>!sc023:: +<^>!sc023:: if GetKeyState("CapsLock", "T") - Send {u+00d6} ; (Ö) O with diaeresis + Send {u+00da} ; (Ú) U with acute else - Send {u+00f6} ; (ö) o with diaeresis + Send {u+00fa} ; (ú) u with acute return ->!+o:: +>!+sc023:: +<^>!+sc023:: if GetKeyState("CapsLock", "T") - Send {u+00f6} ; (ö) o with diaeresis + Send {u+00fa} ; (ú) u with acute else - Send {u+00d6} ; (Ö) O with diaeresis + Send {u+00da} ; (Ú) U with acute + return + +; Key : J +>!sc024:: +<^>!sc024:: + if GetKeyState("CapsLock", "T") + Send {u+00d9} ; (Ù) U with grave + else + Send {u+00f9} ; (ù) u with grave + return +>!+sc024:: +<^>!+sc024:: + if GetKeyState("CapsLock", "T") + Send {u+00f9} ; (ù) u with grave + else + Send {u+00d9} ; (Ù) U with grave return ->!k:: +; Key : K +>!sc025:: +<^>!sc025:: if GetKeyState("CapsLock", "T") Send {u+0152} ; (Œ) ligature OE else Send {u+0153} ; (œ) ligature oe return ->!+k:: +>!+sc025:: +<^>!+sc025:: if GetKeyState("CapsLock", "T") Send {u+0153} ; (œ) ligature oe else Send {u+0152} ; (Œ) ligature OE return ->!l:: +; Key : L +>!sc026:: +<^>!sc026:: if GetKeyState("CapsLock", "T") Send {u+00d8} ; (Ø) O with stroke else Send {u+00f8} ; (ø) o with stroke return ->!+l:: +>!+sc026:: +<^>!+sc026:: if GetKeyState("CapsLock", "T") Send {u+00f8} ; (ø) o with stroke else Send {u+00d8} ; (Ø) O with stroke return ->!,:: +; Key : ; / : (semicolon / colon) +>!sc027:: +<^>!sc027::Send {u+00b0} ; (°) degree sign +>!+sc027:: +<^>!+sc027::Send {u+00b7} ; (·) middle dot + +; Key : ' / " (apostrophe / quotation mark) +>!sc028:: +<^>!sc028::Send {u+266a} ; (♪) eighth note +>!+sc028:: +<^>!+sc028::Send {u+266b} ; (♫) beamed eighth notes + +; Key : \ / | (backslash / vertical line) +>!sc02B:: +<^>!sc02B::Send {u+2002} ; en space +>!+sc02B:: +<^>!+sc02B::Send {u+2003} ; em space + +; Key : Z +>!sc02C:: +<^>!sc02C:: if GetKeyState("CapsLock", "T") - Send {u+00d2} ; (Ò) O with grave - else - Send {u+00f2} ; (ò) o with grave - return ->!<:: - if GetKeyState("CapsLock", "T") - Send {u+00f2} ; (ò) o with grave - else - Send {u+00d2} ; (Ò) O with grave - return - ->!.:: - if GetKeyState("CapsLock", "T") - Send {u+00d3} ; (Ó) O with acute + Send {u+00c1} ; (Á) A with acute else - Send {u+00f3} ; (ó) o with acute + Send {u+00e1} ; (á) a with acute return ->!>:: +>!+sc02C:: +<^>!+sc02C:: if GetKeyState("CapsLock", "T") - Send {u+00f3} ; (ó) o with acute + Send {u+00e1} ; (á) a with acute else - Send {u+00d3} ; (Ó) O with acute + Send {u+00c1} ; (Á) A with acute return ->!p:: +; Key : X +>!sc02D:: +<^>!sc02D:: if GetKeyState("CapsLock", "T") - Send {u+00d4} ; (Ô) O with circumflex + Send {u+00c0} ; (À) A with grave else - Send {u+00f4} ; (ô) o with circumflex + Send {u+00e0} ; (à) a with grave return ->!+p:: +>!+sc02D:: +<^>!+sc02D:: if GetKeyState("CapsLock", "T") - Send {u+00f4} ; (ô) o with circumflex + Send {u+00e0} ; (à) a with grave else - Send {u+00d4} ; (Ô) O with circumflex + Send {u+00c0} ; (À) A with grave return ->!s:: +; Key : C +>!sc02E:: +<^>!sc02E:: if GetKeyState("CapsLock", "T") - Send {u+1e9e} ; (ẞ) capital sharp S (capital Eszett) + Send {u+00c7} ; (Ç) C with cedilla else - Send {u+00df} ; (ß) small sharp s (Eszett) + Send {u+00e7} ; (ç) c with cedilla return ->!+s:: +>!+sc02E:: +<^>!+sc02E:: if GetKeyState("CapsLock", "T") - Send {u+00df} ; (ß) small sharp s (Eszett) + Send {u+00e7} ; (ç) c with cedilla else - Send {u+1e9e} ; (ẞ) capital sharp S (capital Eszett) + Send {u+00c7} ; (Ç) C with cedilla return ->!u:: +; Key : V +>!sc02F:: +<^>!sc02F:: if GetKeyState("CapsLock", "T") - Send {u+00dc} ; (Ü) U with diaeresis + Send {u+00cd} ; (Í) I with acute else - Send {u+00fc} ; (ü) u with diaeresis + Send {u+00ed} ; (í) i with acute return ->!+u:: +>!+sc02F:: +<^>!+sc02F:: if GetKeyState("CapsLock", "T") - Send {u+00fc} ; (ü) u with diaeresis + Send {u+00ed} ; (í) i with acute else - Send {u+00dc} ; (Ü) U with diaeresis + Send {u+00cd} ; (Í) I with acute return ->!h:: +; Key : B +>!sc030:: +<^>!sc030:: if GetKeyState("CapsLock", "T") - Send {u+00d9} ; (Ù) U with grave + Send {u+00cc} ; (Ì) I with grave else - Send {u+00f9} ; (ù) u with grave + Send {u+00ec} ; (ì) i with grave return ->!+h:: +>!+sc030:: +<^>!+sc030:: if GetKeyState("CapsLock", "T") - Send {u+00f9} ; (ù) u with grave + Send {u+00ec} ; (ì) i with grave else - Send {u+00d9} ; (Ù) U with grave + Send {u+00cc} ; (Ì) I with grave return ->!j:: +; Key : N +>!sc031:: +<^>!sc031:: if GetKeyState("CapsLock", "T") - Send {u+00da} ; (Ú) U with acute + Send {u+00d1} ; (Ñ) N with tilde else - Send {u+00fa} ; (ú) u with acute + Send {u+00f1} ; (ñ) n with tilde return ->!+j:: +>!+sc031:: +<^>!+sc031:: if GetKeyState("CapsLock", "T") - Send {u+00fa} ; (ú) u with acute + Send {u+00f1} ; (ñ) n with tilde else - Send {u+00da} ; (Ú) U with acute + Send {u+00d1} ; (Ñ) N with tilde return ->!y:: - if GetKeyState("CapsLock", "T") - Send {u+00db} ; (Û) U with circumflex - else - Send {u+00fb} ; (û) u with circumflex - return ->!+y:: - if GetKeyState("CapsLock", "T") - Send {u+00fb} ; (û) u with circumflex - else - Send {u+00db} ; (Û) U with circumflex - return +; Key : M +>!sc032:: +<^>!sc032::Send {u+00b5} ; (µ) micro sign +>!+sc032:: +<^>!+sc032::Send {u+00b1} ; (±) plus-minus sign ->!6:: +; Key : , / < (comma / less-than sign) +>!sc033:: +<^>!sc033:: if GetKeyState("CapsLock", "T") - Send {u+00c3} ; (Ã) A with tilde + Send {u+00d3} ; (Ó) O with acute else - Send {u+00e3} ; (ã) a with tilde + Send {u+00f3} ; (ó) o with acute return ->!+6:: +>!+sc033:: +<^>!+sc033:: if GetKeyState("CapsLock", "T") - Send {u+00e3} ; (ã) a with tilde + Send {u+00f3} ; (ó) o with acute else - Send {u+00c3} ; (Ã) A with tilde + Send {u+00d3} ; (Ó) O with acute return ->!7:: +; Key : . / > (period / greater-than sign) +>!sc034:: +<^>!sc034:: if GetKeyState("CapsLock", "T") - Send {u+00d5} ; (Õ) O with tilde + Send {u+00d2} ; (Ò) O with grave else - Send {u+00f5} ; (õ) o with tilde + Send {u+00f2} ; (ò) o with grave return ->!+7:: +>!+sc034:: +<^>!+sc034:: if GetKeyState("CapsLock", "T") - Send {u+00f5} ; (õ) o with tilde + Send {u+00f2} ; (ò) o with grave else - Send {u+00d5} ; (Õ) O with tilde + Send {u+00d2} ; (Ò) O with grave return ->!m::Send {u+00b5} ; (µ) micro sign ->!+m::Send {u+00b1} ; (±) plus-minus sign - ->!1::Send {u+00a1} ; (¡) inverted exclamation mark ->!+1::Send {u+00b9} ; (¹) superscript 1 - ->!2::Send {u+2264} ; (≤) less-than or equal to ->!+2::Send {u+00b2} ; (²) superscript 2 - ->!3::Send {u+2265} ; (≥) greater-than or equal to ->!+3::Send {u+00b3} ; (³) superscript 3 - ->!4::Send {u+00a3} ; (£) pound sign ->!+4::Send {u+00a5} ; (¥) yen sign - ->!5::Send {u+20ac} ; (€) euro sign ->!+5::Send {u+00a2} ; (¢) cent sign (dollar) - ->!8::Send {u+201e} ; („) double low-9 quotation mark ->!+8::Send {u+00a7} ; (§) section sign - ->!9::Send {u+201c} ; (“) left double quotation mark ->!+9::Send {u+2018} ; (‘) left single quotation mark - ->!0::Send {u+201d} ; (”) right double quotation mark ->!+0::Send {u+2019} ; (’) right single quotation mark +; Key : / / ? (slash / question mark) +>!sc035:: +<^>!sc035::Send {u+00bf} ; (¿) inverted question mark +>!+sc035:: +<^>!+sc035::Send {u+2022} ; (•) bullet ->!-::Send {u+2013} ; (–) en dash ->!_::Send {u+2014} ; (—) em dash - ->!=::Send {u+00d7} ; (×) multiplication sign ->!+=::Send {u+00f7} ; (÷) division sign - ->![::Send {u+00ab} ; («) left-pointing double angle quotation mark ->!{::Send {u+2039} ; (‹) left-pointing single angle quotation mark - ->!]::Send {u+00bb} ; (») right-pointing double angle quotation mark ->!}::Send {u+203a} ; (›) right-pointing single angle quotation mark - ->!;::Send {u+00b0} ; (°) degree sign ->!+;::Send {u+00b7} ; (·) middle dot - ->!'::Send {u+2020} ; (†) dagger ->!"::Send {u+2021} ; (‡) double dagger - ->!\::Send {u+2002} ; en space ->!|::Send {u+2003} ; em space - ->!/::Send {u+00bf} ; (¿) inverted question mark ->!?::Send {u+2026} ; (…) horizontal ellipsis - ->!space::Send {u+00a0} ; non-breaking space (NBSP) ->!+space::Send {u+00a0} ; non-breaking space (NBSP) +; Key : (space) +>!sc039:: +<^>!sc039::Send {u+00a0} ; non-breaking space (NBSP) +>!+sc039:: +<^>!+sc039::Send {u+00a0} ; non-breaking space (NBSP) ; Configuration : Compose Key Selector ->!`:: +>!sc029:: +>!+sc029:: +<^>!sc029:: +<^>!+sc029:: >!sc056:: +>!+sc056:: +<^>!sc056:: +<^>!+sc056:: Input, keyA, L1, {bs}{del}{esc}{home}{end} Input, keyB, L1, {bs}{del}{esc}{home}{end} @@ -1913,6 +2105,8 @@ cmpSmallN.item["0"] := "{u+277f}" ; (❿) dingbat negative circled digit 10 Send % cmpSmallH.item[keyB] else if (keyA == "f") Send % cmpSmallF.item[keyB] + else if (keyA == "t") + Send % cmpSmallT.item[keyB] else if (keyA == "l") Send % cmpSmallL.item[keyB] else if (keyA == "r") @@ -1953,14 +2147,12 @@ cmpSmallN.item["0"] := "{u+277f}" ; (❿) dingbat negative circled digit 10 Send % cmpCapitalO.item[keyB] else if (keyA == "S") Send % cmpCapitalS.item[keyB] - else if (keyA == "t") - Send % cmpSmallT.item[keyB] else if (keyA == "T") Send % cmpCapitalT.item[keyB] else if (keyA == "P") Send % cmpCapitalP.item[keyB] - else if (keyA == ";") - Send % cmpSemicolon.item[keyB] + else if (keyA == "|") + Send % cmpVerticalLine.item[keyB] else if (keyA == "*") Send % cmpAsterisk.item[keyB] else if (keyA == "!") @@ -1979,6 +2171,8 @@ cmpSmallN.item["0"] := "{u+277f}" ; (❿) dingbat negative circled digit 10 Send % cmpLessThan.item[keyB] else if (keyA == ">") Send % cmpGreaterThan.item[keyB] + else if (keyA == ";") + Send % cmpSemicolon.item[keyB] else if (keyA == "1") Send % cmpDigitOne.item[keyB] else if (keyA == "2")